LABORATORIO DI INFORMATICA:
INGEGNERIA DEL SOFTWARE
Prof. Anna Perini, Alessandra Potrich
Anno Accademico 2001/2002
Il corso mira a fornire competenze pratiche sull'applicazione di metodi di Ingegneria del Software visti nel corso di Ingegneria del software.
Il corso è centrato sulla sperimentazione in laboratorio di strumenti CASE industriali (Rational Suite). In parallelo verrà richiesto di sviluppare, in parte al di fuori delle ore di lezione, un progetto completo su cui gli studenti saranno valutati in sede d'esame.
Indice degli argomenti trattati
Breve introduzione sul processo di sviluppo del software, dei tool CASE e di linguaggi di specifica.
Si introducono concetti base per la pianificazione e la gestione di un piano di attività (ad es. dipendenze temporali tra attività, diagrammi di Pert e di Gannt).
Si sperimenta l’utilizzo di strumenti software di Project Management.
Si approfondiscono metodi e strumenti per l’analisi di un dominio applicativo, per l’analisi e la specifica di requisiti business e di requisiti di sistema. Si userà il Unified Modeling Language (UML), come linguaggio di specifica e il tool di gestione dei requisiti Requisite Pro della Rational.
Si analizza la struttura e il ruolo di alcuni documenti base nel processo di sviluppo del software, con riferimento anche ad alcuni standard. Si sperimentano dei tool di generazione automatica della documentazione , da specifica in UML e da codice. E’ previsto l’uso di SODA della Suite Rational.
Si approfondisce l’uso di UML per la progettazione OO. Si introducono Design patterns e se ne sperimenterà l’applicazione pratica nella specifica di sistema. E’ previsto l’uso di tools per UML (Rose dalla Rational).
Si approfondisce l’uso di tool per la generazione automatica del codice da specifica UML. Vengono analizzate le problematiche della convalida del software prodotto rispetto alle specifiche utente (ovvero del problema applicativo) e quella della verifica della correttezza del software. Vengono introdotte tecniche di analisi statica e dinamica del software. E’ prevista una parte sperimentale in laboratorio con tools di testing industriali.
Vengono introdotti alcuni concetti base sul reverse engineering, sul problema della manutenzione del software, sulla distribuzione (deployment) e su tecniche di configuration management.
Tools utilizzati
Rational Suite: Requisite Pro, Rose, Soda, Uso di Java per il progetto.
Modalità d’esame
L’accertamento prevede la discussione di una elaborazione personale del progetto assegnato (documento cartaceo preparato dallo studente e codice sviluppato) nel corso della quale si dimostri padronanza sugli argomenti trattati nel corso.
Propedeuticità
Informatica: Programmazione 1, Programmazione 2, Ingegneria del software.
Testi Consigliati
Testi per la consultazione